/*
 * ObjectFactory.java
 *
 * Created on 13 de noviembre de 2007, 19:46
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package com.fiuba.aterrizar.servidor.conf;

import com.fiuba.aterrizar.servidor.dal.dao.AvionDAO;
import com.fiuba.aterrizar.servidor.dal.dao.ReservaDAO;
import com.fiuba.aterrizar.servidor.dal.dao.SeguridadDAO;
import com.fiuba.aterrizar.servidor.dal.dao.VueloDAO;
import com.fiuba.aterrizar.servidor.dal.dao.impl.AvionDAOImpl;
import com.fiuba.aterrizar.servidor.dal.dao.impl.ReservaDAOImpl;
import com.fiuba.aterrizar.servidor.dal.dao.impl.SeguridadDAOImpl;
import com.fiuba.aterrizar.servidor.dal.dao.impl.VueloDAOImpl;
import com.fiuba.aterrizar.servidor.service.AvionService;
import com.fiuba.aterrizar.servidor.service.ReservaService;
import com.fiuba.aterrizar.servidor.service.SeguridadService;
import com.fiuba.aterrizar.servidor.service.impl.AvionServiceImpl;
import com.fiuba.aterrizar.servidor.service.impl.ReservaServiceImpl;
import com.fiuba.aterrizar.servidor.service.impl.SeguridadServiceImpl;

/**
 *
 * @author Demian
 */
public class ObjectFactory {
    private static SeguridadService seguridadService = new SeguridadServiceImpl();
    private static SeguridadDAO seguridadDAO = new SeguridadDAOImpl();
    private static ReservaDAO reservaDAO = new ReservaDAOImpl();
    private static VueloDAO vueloDAO = new VueloDAOImpl();
    private static ReservaService reservaService = new ReservaServiceImpl();
    private static AvionService avionService = new AvionServiceImpl();
    private static AvionDAO avionDAO = new AvionDAOImpl();
        
    public static Object getObject(Class clazz){
        if (clazz.equals(SeguridadService.class )){
            return seguridadService;
        }
        else if (clazz.equals(SeguridadDAO.class)){
            return seguridadDAO;
        }
        else if (clazz.equals(ReservaDAO.class)){
            return reservaDAO;
        }
        else if (clazz.equals(ReservaService.class)){
            return reservaService;
        }
        else if (clazz.equals(VueloDAO.class)){
            return vueloDAO;
        }
        else if (clazz.equals(AvionService.class)){
            return avionService;
        }
        else if (clazz.equals(AvionDAO.class)){
            return avionDAO;
        }
        
        throw new RuntimeException("El objeto solicitado no existe: "+clazz);
    }
    
    
}
